import pandas as pd
import requests
import math
import os
from tqdm import tqdm
import main_code
import api_key_file


# 配置参数（需替换为实际API密钥和文件路径）
api_key =  api_key_file.api_key  # 替换为实际高德地图API密钥
input_file = r'D:\addresses.xlsx'  # 替换为输入Excel文件路径
output_file = r'D:\输出结果'  # 替换为输出Excel文件路径

# 读取地址列表（假设CSV文件包含'address'列）
r_dt = pd.read_excel(input_file)



# 使用进度条显示处理进度
# 安全数据处理
result_data = []
for id, address in zip(r_dt['ID'], r_dt['Address']):
    result = main_code.get_geocode(address,api_key)
    if result:
        result_data.append({
            'ID': id,
            'Address': address,
            'Longitude': result[0],
            'Latitude': result[1],
            'address_spyder' : result[2]
        })
    else:
        result_data.append({
            'ID': id,
            'Address': address,
            'Longitude': None,
            'Latitude': None,
            'address_spyder': None
        })


# 创建结果DataFrame
result_df = pd.DataFrame(result_data,columns=['ID', 'Address', 'Longitude','Latitude','address_spyder'])
result_df.rename(columns={'ID':'**编号','Address':'地址','Longitude':'经度','Latitude':'纬度'},inplace=True)

f_dt = r_dt.merge(result_df,left_on = 'ID',right_on='**编号',how='left')
f_dt.to_excel(output_file + '\geo_coordinates.xlsx',index=False)

# 执行主函数
if __name__ == '__main__':
    main_code.get_geocode(input_file, api_key)